<?php

/*
 * Recurso_escort DAL.
 * @Autor: Inicial.cl.
 */

class Recurso_escortDAL {

    //METODO PARA GRABAR RECURSO_ESCORT.
    public static function grabar($oRecurso_escort) {
        try {
            $arr = array(
                "{#SRC}" => $oRecurso_escort->getSrc(),
                "{#TITLE}" => $oRecurso_escort->getTitle(),
                "{#IDESCORT}" => $oRecurso_escort->getIdEscort(),
                "{#IDTIPORECURSO}" => $oRecurso_escort->getIdTipoRecurso(),
                "{#FECHA}" => $oRecurso_escort->getFecha()
            );
            $query = Util::getQuery($arr, Recurso_escortSQL::$GRABAR_RECURSO_ESCORT);
            $arrDatos = Bd::exec($query);

            $id = Bd::$IDENTITY; //Retorno id insertado
            return $id;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA EDITAR RECURSO_ESCORT.
    public static function editar($oRecurso_escort) {
        try {
            $arr = array(
                "{#ID}" => $oRecurso_escort->getId(),
                "{#SRC}" => $oRecurso_escort->getSrc(),
                "{#TITLE}" => $oRecurso_escort->getTitle(),
                "{#IDESCORT}" => $oRecurso_escort->getIdEscort(),
                "{#IDTIPORECURSO}" => $oRecurso_escort->getIdTipoRecurso(),
                "{#FECHA}" => $oRecurso_escort->getFecha()
            );
            $query = Util::getQuery($arr, Recurso_escortSQL::$EDITAR_RECURSO_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA LISTAR RECURSO_ESCORT.
    public static function listar($oRecurso_escort) {
        try {
            $arr = array(
                "{#ID}" => $oRecurso_escort->getId(),
                "{#SRC}" => $oRecurso_escort->getSrc(),
                "{#TITLE}" => $oRecurso_escort->getTitle(),
                "{#IDESCORT}" => $oRecurso_escort->getIdEscort(),
                "{#IDTIPORECURSO}" => $oRecurso_escort->getIdTipoRecurso(),
                "{#FECHA}" => $oRecurso_escort->getFecha()
            );
            $query = Util::getQuery($arr, Recurso_escortSQL::$LISTAR_RECURSO_ESCORT);
            $arrDatos = Bd::exec($query);
            $arrRecurso_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oRecurso_escort = new Recurso_escort();

                    $oRecurso_escort->setId($row["id"]);
                    $oRecurso_escort->setSrc($row["src"]);
                    $oRecurso_escort->setTitle($row["title"]);
                    $oRecurso_escort->setIdEscort($row["idEscort"]);
                    $oRecurso_escort->setIdTipoRecurso($row["idTipoRecurso"]);
                    $oRecurso_escort->setFecha($row["fecha"]);

                    $arrRecurso_escort[] = $oRecurso_escort;
                }
            }

            return $arrRecurso_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA OBTENER POR ID RECURSO_ESCORT.
    public static function obtenerPorId($id) {
        try {
            $arr = array(
                "{#ID}" => $id
            );
            $query = Util::getQuery($arr, Recurso_escortSQL::$OBTENER_RECURSO_ESCORT_POR_ID);
            $arrDatos = Bd::exec($query);

            if (count($arrDatos) > 0) {
                $oRecurso_escort = new Recurso_escort();

                foreach ($arrDatos as $row) {
                    $oRecurso_escort->setId($row["id"]);
                    $oRecurso_escort->setSrc($row["src"]);
                    $oRecurso_escort->setTitle($row["title"]);
                    $oRecurso_escort->setIdEscort($row["idEscort"]);
                    $oRecurso_escort->setIdTipoRecurso($row["idTipoRecurso"]);
                    $oRecurso_escort->setFecha($row["fecha"]);
                }
                return $oRecurso_escort;
            }
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA OBTENER POR ID RECURSO_ESCORT.
    public static function listarPorIdEscort($id, $idTipoRecurso, $title) {
        try {
            $arr = array(
                "{#IDESCORT}" => $id,
                "{#IDTIPORECURSO}" => $idTipoRecurso,
                "{#TITLE}" => $title
            );
            $query = Util::getQuery($arr, Recurso_escortSQL::$LISTAR_RECURSO_ESCORT_POR_ID_ESCORT);
            $arrDatos = Bd::exec($query);
            $arrRecurso_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oRecurso_escort = new Recurso_escort();
                    $oRecurso_escort->setId($row["id"]);
                    $oRecurso_escort->setSrc($row["src"]);
                    $oRecurso_escort->setTitle($row["title"]);
                    $oRecurso_escort->setIdEscort($row["idEscort"]);
                    $oRecurso_escort->setIdTipoRecurso($row["idTipoRecurso"]);
                    $oRecurso_escort->setFecha($row["fecha"]);

                    $arrRecurso_escort[] = $oRecurso_escort;
                }
            }
            return $arrRecurso_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }
    
    //METODO PARA OBTENER IMAGEN DESTACADA POR ID
    public static function getDestacadaPorIdEscort($id, $idTipoRecurso, $title) {
        try {
            $arr = array(
                "{#IDESCORT}" => $id,
                "{#IDTIPORECURSO}" => $idTipoRecurso,
                "{#TITLE}" => $title
            );
            $query = Util::getQuery($arr, Recurso_escortSQL::$LISTAR_RECURSO_ESCORT_POR_ID_ESCORT);
            $arrDatos = Bd::exec($query);
            $arrRecurso_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oRecurso_escort = new Recurso_escort();
                    $oRecurso_escort->setId($row["id"]);
                    $oRecurso_escort->setSrc($row["src"]);
                    $oRecurso_escort->setTitle($row["title"]);
                    $oRecurso_escort->setIdEscort($row["idEscort"]);
                    $oRecurso_escort->setIdTipoRecurso($row["idTipoRecurso"]);
                    $oRecurso_escort->setFecha($row["fecha"]);

                    $arrRecurso_escort[] = $oRecurso_escort;
                }
            }
            return $arrRecurso_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA ELIMINAR RECURSO_ESCORT.
    public static function eliminar($id) {
        try {
            $arr = array("{#ID}" => $id);
            $query = Util::getQuery($arr, Recurso_escortSQL::$ELIMINAR_RECURSO_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

}

?>